草庐IT

Safari 17

全部标签

javascript - 在 Mobile Safari 下拉列表项选择框上使用 'Next' 时选择/下拉的 onchange() JS 事件的奇怪行为

这很难说清楚,我是移动网络开发的新手,所以请多多包涵:在我的网页上,我有3个嵌套的下拉列表(区域、城镇、街道)。嵌套,每个下拉列表的项目在其上方的下拉列表中的选择发生变化时被修改。例如,选择区域会更改城镇和街道列表,选择城镇会更改街道列表。我在下拉菜单的onchange()javascript事件中使用XMLHTTPRequests来获取和填充其他下拉菜单。这在Android和桌面浏览器上运行良好。在MobileSafari上,当触摸下拉菜单时,会显示一个列表,用户可以在其中选择项目。此外,选择框还有“上一个/下一个/自动填充/完成”按钮,用于导航到其他表单元素。所以用户触摸第一个下拉

javascript - 值不是序列 Safari 异常

我在我的代码库中的任何console.log语句中收到此错误。这仅影响Mac10.16.6上的Safari11.0(12604.1.38.1.7)我该如何解决这个问题以及这是如何发生的? 最佳答案 您需要禁用“WebDriver”扩展。我遇到了同样的问题,我的堆栈跟踪包括一个名为“脚本元素”的资源,它正在调用:b.initMessageEvent("safaridriver.message",!1,!1,a,window.location.origin,"0",window,null);也许有一个SafariDriver更新可以解决

javascript - 单击事件不会在移动 safari 中通过 youtube iframe 触发

我想在youtubeiframe视频上方放置交互控件,我通过添加wmode=opaque使其工作正常作为参数,然后将元素绝对定位在iframe之上。我的问题是,在移动版Safari上-控件首先工作正常,但当我从全屏视频返回时,它们都被禁用了。不过它在桌面上运行良好。HTML基本上是:Clickme然后按钮绝对定位在iframe之上。如需演示,请使用移动浏览器访问此fiddle:http://jsfiddle.net/SwGH5/embedded/result/您会看到该按钮在单击时会产生警报。现在,播放视频并单击“完成”。然后尝试再次单击按钮...如果电影是使用嵌入的标记我可以监听全屏

javascript - 在 Safari 10.13.4 中发送包含空文件输入的 FormData() 时 AJAX 请求失败

我正在运行一个基于Symfony2.8的网络应用程序,它使用Ajax将一些表单数据发送回Controller。到目前为止一切正常,但自从最新的macOS更新到版本10.13.4用户开始报告,在Safari中提交表单不再有效。其他macOS版本和10.13.4上的其他浏览器仍然可以正常工作,所以这似乎是Safari中的问题。当然,我向Apple提交了错误报告,但我不认为我会从那里得到反馈......我能够找出问题的根源:提交包含空文件输入的数据失败://safri_bug.htmlSubmit$(document).ready(function(){$('#bSubmit').click

javascript - 无法在 Safari 中加载跨源图像(来自 CloudFront)

在Safari8中尝试从CloudFrontURL加载图像时出现以下错误:跨源资源共享策略拒绝跨源图像加载。这只发生在Safari8上。在最新的FireFox38和Chrome41中它加载得很好。(Mac10.10)我的设置:1。具有以下CORS配置的S3存储桶*GET3000*2。链接的CloudFront分配以下header已列入白名单(在行为下):访问控制请求header访问控制请求方法来源3。JavaScriptvarimg=newImage();img.crossOrigin='';img.onload=function(){console.log('imageloaded'

javascript - Safari 上的 AudioContext

昨天,我有aquestionaboutthenoteOnmethodoftheAudioContextobject.现在,我已经完全了解这个AudioContext对象。这是我在桌面上的Safari中尝试过的方法及其相关的错误消息: varctx// ctx=new(AudioContext||webkitAudioContext);//ReferenceError:Can'tfindvariable:AudioContext// ctx=new(audioContext||webkitAudioContext);//ReferenceError:Can'tfindvariable:a

javascript - Safari 不使用 JS Fetch API 设置 CORS cookie

当使用FetchAPI(实际上,通过fetchpolyfill)时,我无法让Safari从服务器响应中成功应用Set-Cookie。相同的代码在FF和Chrome中都能正常工作(我使用native和polyfillfetch进行了测试)。请求是跨域的;是的,我正在设置credentials:true;服务器确实以Set-Cookieheader响应;后续请求从Chrome和FF发送带有cookie请求header,但Safari不发送;请求使用HTTPS(证书是自签名的并且在开发域上,但它似乎在常规请求中被Safari接受);和有人知道问题出在哪里吗?我已通读文档并浏览了许多close

javascript - 在 Internet Explorer 和 Safari 中调试 JavaScript

目前,我确实没有在InternetExplorer和Safari中调试JavaScript的好方法。.在Firefox中,您可以使用Firebug'sloggingfeature和commandLinefunctions.但是,当我转向其他浏览器时,这对我没有帮助。 最佳答案 对于Safari,您需要通过首选项(在Safari3.1中;参见theentryinApple'sSafaridevelopmentFAQ)或通过启用“开发”菜单$defaultswritecom.apple.SafariIncludeDebugMenu1在M

javascript - 为什么 javascript 对象在 Chrome、Firefox、Safari 的控制台中显示不同的值?

这个问题在这里已经有了答案:关闭10年前。社区在18天前审查了是否重新打开此问题,并将其关闭:原始关闭原因未解决PossibleDuplicate:IsChrome'sJavaScriptconsolelazyaboutevaluatingarrays?考虑这个javascript:varfoo={bar:1111};console.log(foo);console.log(foo.bar);foo.bar=2222;console.log(foo);console.log(foo.bar);在Firefox的Firebug中,这显示了我所期望的:Object{bar=1111}111

javascript - Safari/WebKit 的 console.log DOM 节点作为对象?

这让我抓狂了一段时间。当我console.log一个DOM节点(通过示例从document.getElementById返回)时,它显示为一个交互式html元素,就像它出现在“元素”选项卡上一样。这肯定很方便,但有时我只想展开对象并查看其所有属性,就像我可以对登录到控制台的所有其他类型的对象一样。有什么方法可以让DOM节点作为常规对象显示在控制台中? 最佳答案 使用console.dir而不是console.log。console.log(document.body);...console.dir(document.body);>H